Dynomotion

Group: DynoMotion Message: 5685 From: Bengt Sjoelund Date: 9/17/2012
Subject: Spindle watchdog
Hi Tom,
I have need for such function that all motion on X/Y axis to be stopped if spindle rotation stops when running gcode. How can this be done?

I have a lot of saw milling ahead and as this is a very time consuming operation I want to be close to the edge of cutting and sometimes it can happend that the cutter binds and stops the spindle rotation. This is the reason of me wanting to have a watchdog.

If this can be done, will this affect tapping operations?

Cheers
Bengt
Group: DynoMotion Message: 5686 From: Lee Studley Date: 9/17/2012
Subject: Re: Spindle watchdog
Hi Bengt and Tom,
Just tossing out an idea:

Maybe some user C flags/vars to setup to indicate status:

'SpeedChangeRequested'= TRUE // gather current speed measured from the
spindle encoder

'SpindleSpeedGood=FALSE' // until speed is within a specified window of
tolerance, then =TRUE, and then clear 'SpeedChangeRequested'= FALSE

--TimeOut // test duration of 'SpeedChangeRequested'= TRUE to
'SpindleSpeedGood==TRUE for excessive ramp time.


if speed then falls out of a specified "window" threshold the flag is
set to 'SpindleSpeedGood=FALSE'
with 'SpeedChangeRequested'= FALSE and error condition could be handled.

So if 'SpeedChangeRequested'= FALSE && 'SpindleSpeedGood=FALSE'
Then the motion should be stopped etc

-Lee




On 9/17/2012 1:15 AM, Bengt Sjoelund wrote:
> Hi Tom,
> I have need for such function that all motion on X/Y axis to be stopped if spindle rotation stops when running gcode. How can this be done?
>
> I have a lot of saw milling ahead and as this is a very time consuming operation I want to be close to the edge of cutting and sometimes it can happend that the cutter binds and stops the spindle rotation. This is the reason of me wanting to have a watchdog.
>
> If this can be done, will this affect tapping operations?
>
> Cheers
> Bengt
>
>
>
> ------------------------------------
>
> Yahoo! Groups Links
>
>
>
>
Group: DynoMotion Message: 5687 From: studleylee Date: 9/17/2012
Subject: Re: Spindle watchdog
Or since you are using DAC servo in the spindle control(?) test if the error spikes beyond acceptable.

--- In DynoMotion@yahoogroups.com, Lee Studley <indigo_red@...> wrote:
>
> Hi Bengt and Tom,
> Just tossing out an idea:
>
> Maybe some user C flags/vars to setup to indicate status:
>
> 'SpeedChangeRequested'= TRUE // gather current speed measured from the
> spindle encoder
>
> 'SpindleSpeedGood=FALSE' // until speed is within a specified window of
> tolerance, then =TRUE, and then clear 'SpeedChangeRequested'= FALSE
>
> --TimeOut // test duration of 'SpeedChangeRequested'= TRUE to
> 'SpindleSpeedGood==TRUE for excessive ramp time.
>
>
> if speed then falls out of a specified "window" threshold the flag is
> set to 'SpindleSpeedGood=FALSE'
> with 'SpeedChangeRequested'= FALSE and error condition could be handled.
>
> So if 'SpeedChangeRequested'= FALSE && 'SpindleSpeedGood=FALSE'
> Then the motion should be stopped etc
>
> -Lee
>
>
>
>
> On 9/17/2012 1:15 AM, Bengt Sjoelund wrote:
> > Hi Tom,
> > I have need for such function that all motion on X/Y axis to be stopped if spindle rotation stops when running gcode. How can this be done?
> >
> > I have a lot of saw milling ahead and as this is a very time consuming operation I want to be close to the edge of cutting and sometimes it can happend that the cutter binds and stops the spindle rotation. This is the reason of me wanting to have a watchdog.
> >
> > If this can be done, will this affect tapping operations?
> >
> > Cheers
> > Bengt
> >
> >
> >
> > ------------------------------------
> >
> > Yahoo! Groups Links
> >
> >
> >
> >
>
Group: DynoMotion Message: 5688 From: Tom Kerekes Date: 9/17/2012
Subject: Re: Spindle watchdog
Hi Bengt,
 
I believe your Spindle is operating as a closed loop servo.  So you might just set some reasonable following error.  The if the Spindle Stalls it should Disable the Spindle axis.  So a simple bit of C code to watch to see if the Spindle Axis is disabled and if it is then either feedhold xy or disable the xy axes.  Something like (add in any forever loop you may already have):
 
 
   if (!chan[4].Enable) StopCoordinatedMotion();
 
or
 
 
   if (!chan[4].Enable)
   {
      DisableAxis(0);
      DisableAxis(1);
   }
Regards
TK